﻿
namespace Admin.NET.Application.Service;


/// <summary>
/// 申请单接口入参
/// </summary>
public class TraShenQingDanInput
{
    public TraShenQingInput traShenQing { get; set; }

    public TraShenQingHuanZheInput traShenQingHuanZhe { get; set; }

    public TraShenQingYongXueInput traShenQingYongXue { get; set; }

    public List<TraShenQingJianYanInput> traShenQingJianYanList { get; set; }

}

/// <summary>
/// 申请单接口出参
/// </summary>
public class TraShenQingDanOutput
{
    public TraShenQingOutput traShenQing { get; set; }

    public TraShenQingHuanZheOutput traShenQingHuanZhe { get; set; }

    public TraShenQingYongXueOutput traShenQingYongXue { get; set; }

    public List<TraShenQingJianYan> traShenQingJianYanList { get; set; }
}


/// <summary>
/// 申请单主表入参
/// </summary>
public class TraShenQingInput : BaseBillDto
{
    public long? TenantId { get; set; }
    // "单号"
    public string Id { get; set; } = "";

    // "上级医生审核人Id"
    public long? shangJiShenHeRenId { get; set; }

    /// <summary>
    /// "上级医生审核人"
    /// </summary>
    public string shangJiShenHeRen { get; set; } = "";

    // "上级审核时间"
    public DateTime? shangJiShenHeShiJian { get; set; }

    // "上级医生审核信息"
    public string shangJiShenHeXinXi { get; set; } = "";

    // "科主任审核人Id"
    public long? keZhuRenShenHeRenId { get; set; }

    /// <summary>
    /// "科主任审核人"
    /// </summary>
    public string keZhuRenShenHeRen { get; set; } = "";

    // "科主任审核时间"
    public DateTime? keZhuRenShenHeShiJian { get; set; }

    // "科主任审核信息"
    public string keZhuRenShenHeXinXi { get; set; } = "";

    // "输血科审核人Id"
    public long? shuXueKeShenHeRenId { get; set; }

    /// <summary>
    /// "输血科审核人"
    /// </summary>
    public string shuXueKeShenHeRen { get; set; } = "";

    // "输血科审核时间"
    public DateTime? shuXueKeShenHeShiJian { get; set; }

    // "输血科审核信息"
    public string shuXueKeShenHeXinXi { get; set; } = "";

    // "退审人Id"
    public long? tuiShenRenId { get; set; }

    // "退审时间"
    public DateTime? tuiShenShiJian { get; set; }

    // "退审信息"
    public string tuiShenXinXi { get; set; } = "";

    // "院区"
    public long yuanQuId { get; set; }

    // "开单科室(登录的科室)"
    public long kaiDanKeShiId { get; set; }

    // "申请医嘱(描述性)"
    public string shenQingYiZhu { get; set; } = "";

    // "交叉配血医嘱(抽血用的)"
    public string jiaoChaPeiXueYiZhu { get; set; } = "";

    // "标本号"
    public string biaoBenId { get; set; } = "";

    // "收费标记(枚举:门诊,住院,门诊和住院,只申请单)"
    public string shouFeiBiaoJi { get; set; } = "";


    // 创建时间
    public virtual DateTime CreateTime { get; set; }

    // 创建者Id
    public virtual long? CreateUserId { get; set; }

    // 创建者姓名
    public virtual string? CreateUserName { get; set; }

}

/// <summary>
/// 申请单主表出参
/// </summary>
public class TraShenQingOutput : TraShenQingInput
{
    // 创建时间
    public virtual DateTime CreateTime { get; set; }

    // 创建者Id
    public virtual long? CreateUserId { get; set; }

    // 创建者姓名
    public virtual string? CreateUserName { get; set; }


    // 更新时间
    public virtual DateTime? UpdateTime { get; set; }

    // 修改者Id
    public virtual long? UpdateUserId { get; set; }

    // 修改者姓名
    public virtual string? UpdateUserName { get; set; }
}


/// <summary>
/// 申请单主表出参
/// </summary>
public class TraShenQingPageOutput : TraShenQingInput
{
    // 创建时间
    public virtual DateTime CreateTime { get; set; }

    // 创建者Id
    public virtual long? CreateUserId { get; set; }

    // 创建者姓名
    public virtual string? CreateUserName { get; set; }

    // ====================================患者信息=====================================
    // "患者代码(界面扫的)"
    public string huanZheDaiMa { get; set; } = "";

    // "就诊类型(住院/门诊)"
    public string jiuZhenLeiXing { get; set; } = "";

    // "姓名"
    public string? xingMing { get; set; }

    // "初筛ABO"
    public string? chuShaiABO { get; set; }

    // "初筛RhD"
    public string? chuShaiRhD { get; set; }

    // "性别"
    public string? xingBie { get; set; }

    // "年龄"
    public string? nianLing { get; set; }

    // "病区名称"
    public string? bingQu { get; set; }

    // =======================================用血信息======================================
    // "用血类型"
    public string? yongXueLeiXing { get; set; }

    // "输血目的"
    public string? shuXueMuDi { get; set; }

    // "申请ABO"
    public string? shenQingABO { get; set; }

    // "申请RhD"
    public string? shenQingRhD { get; set; }

    // "申请品种"
    public string? shenQingPinZhong { get; set; }

    // "申请量"
    public decimal? shenQingLiang { get; set; }

    // "用血时间"
    public DateTime? yongXueShiJian { get; set; }

}